package sifeap.pl.managedbean.parametros;

import java.io.File;
import java.io.FileInputStream;

import javax.activation.MimetypesFileTypeMap;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent;

import sifeap.exception.SifeapException;
import sifeap.util.Util;

@ManagedBean(name="parametrosManagedBean")
@RequestScoped
public class ParametrosManagedBean {
	private StreamedContent organigrama;
	
	public ParametrosManagedBean() {}
	
	public String getQuienesSomos() {
		try {
			return Util.obtenerValorParametro("quinessomos_feap");
		} catch (SifeapException e) {
			e.printStackTrace();
			return null;
		}
	}
	
	public String getMision() {
		try {
			return Util.obtenerValorParametro("quinessomos_mision");
		} catch (SifeapException e) {
			e.printStackTrace();
			return null;
		}
	}
	
	public String getVision() {
		try {
			return Util.obtenerValorParametro("quinessomos_vision");
		} catch (SifeapException e) {
			e.printStackTrace();
			return null;
		}
	}

	public StreamedContent getOrganigrama() {
		try {
			String rutaOrganigrama = Util.obtenerValorParametro("organigrama_ubicacion");
			
			if (!rutaOrganigrama.endsWith(File.separator)) {
				rutaOrganigrama = rutaOrganigrama.concat(File.separator);
			}
			
			File archivoOrganigrama = new File(rutaOrganigrama);
			String tipoContenido = new MimetypesFileTypeMap().getContentType(archivoOrganigrama);
			
			organigrama = new DefaultStreamedContent(new FileInputStream(archivoOrganigrama), tipoContenido, archivoOrganigrama.getName());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return organigrama;
	}
}
